package com.macro.mall.model;

import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class PmProdSpec implements Serializable {
    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "规格编码")
    private String specCode;

    @ApiModelProperty(value = "规格名称")
    private String specName;

    @ApiModelProperty(value = "规格类型")
    private String type;

    @ApiModelProperty(value = "规格描述")
    private String specDesc;

    @ApiModelProperty(value = "规格状态")
    private Integer status;

    @ApiModelProperty(value = "生效时间")
    private Date validTime;

    @ApiModelProperty(value = "失效时间")
    private Date invalidTime;

    @ApiModelProperty(value = "售卖区域")
    private String salesScope;

    @ApiModelProperty(value = "服务规格标识")
    private Long serverSpecId;

    @ApiModelProperty(value = "属性包ID")
    private Long prptyPackageId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "更新人")
    private String updateBy;

    @ApiModelProperty(value = "变更描述")
    private String upDesc;

    @ApiModelProperty(value = "规格标签")
    private String specTag;

    @ApiModelProperty(value = "服务规格名称")
    private String serverSpecName;
    @ApiModelProperty(value = "服务封面")
    private String mainPicId;
    private List<PmProdSpecPic> picList;
    private PmPrptyPackage prprtyPackage;
    private List<PmSpecSku> specSkuList;
    private List<PmProdSpecPrpty> prodSpecPrptyList;

    @ApiModelProperty(value = "商品详情")
    private PmProdSpecDetail pmProdSpecDetail;

    private String lowPrice;

    private static final long serialVersionUID = 1L;

    // 上门服务模板
    private List<PmProdSpecStockTemp>  prodSpecStockTempList;

    public String getServerSpecName() {
        return serverSpecName;
    }

    public void setServerSpecName(String serverSpecName) {
        this.serverSpecName = serverSpecName;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSpecCode() {
        return specCode;
    }

    public void setSpecCode(String specCode) {
        this.specCode = specCode;
    }

    public String getSpecName() {
        return specName;
    }

    public void setSpecName(String specName) {
        this.specName = specName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getSpecDesc() {
        return specDesc;
    }

    public void setSpecDesc(String specDesc) {
        this.specDesc = specDesc;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getValidTime() {
        return validTime;
    }

    public void setValidTime(Date validTime) {
        this.validTime = validTime;
    }

    public Date getInvalidTime() {
        return invalidTime;
    }

    public void setInvalidTime(Date invalidTime) {
        this.invalidTime = invalidTime;
    }

    public String getSalesScope() {
        return salesScope;
    }

    public void setSalesScope(String salesScope) {
        this.salesScope = salesScope;
    }

    public Long getServerSpecId() {
        return serverSpecId;
    }

    public void setServerSpecId(Long serverSpecId) {
        this.serverSpecId = serverSpecId;
    }

    public Long getPrptyPackageId() {
        return prptyPackageId;
    }

    public void setPrptyPackageId(Long prptyPackageId) {
        this.prptyPackageId = prptyPackageId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public String getUpDesc() {
        return upDesc;
    }

    public void setUpDesc(String upDesc) {
        this.upDesc = upDesc;
    }

    public String getSpecTag() {
        return specTag;
    }

    public void setSpecTag(String specTag) {
        this.specTag = specTag;
    }

    public String getMainPicId() {
        return mainPicId;
    }

    public void setMainPicId(String mainPicId) {
        this.mainPicId = mainPicId;
    }

    public List<PmProdSpecPic> getPicList() {
        return picList;
    }

    public void setPicList(List<PmProdSpecPic> picList) {
        this.picList = picList;
    }

    public PmPrptyPackage getPrprtyPackage() {
        return prprtyPackage;
    }

    public void setPrprtyPackage(PmPrptyPackage prprtyPackage) {
        this.prprtyPackage = prprtyPackage;
    }

    public List<PmSpecSku> getSpecSkuList() {
        return specSkuList;
    }

    public void setSpecSkuList(List<PmSpecSku> specSkuList) {
        this.specSkuList = specSkuList;
    }

    public String getLowPrice() {
        return lowPrice;
    }

    public void setLowPrice(String lowPrice) {
        this.lowPrice = lowPrice;
    }

    public List<PmProdSpecPrpty> getProdSpecPrptyList() {
        return prodSpecPrptyList;
    }

    public void setProdSpecPrptyList(List<PmProdSpecPrpty> prodSpecPrptyList) {
        this.prodSpecPrptyList = prodSpecPrptyList;
    }

    public PmProdSpecDetail getPmProdSpecDetail() {
        return pmProdSpecDetail;
    }

    public void setPmProdSpecDetail(PmProdSpecDetail pmProdSpecDetail) {
        this.pmProdSpecDetail = pmProdSpecDetail;
    }

    public List<PmProdSpecStockTemp> getProdSpecStockTempList() {
        return prodSpecStockTempList;
    }

    public void setProdSpecStockTempList(List<PmProdSpecStockTemp> prodSpecStockTempList) {
        this.prodSpecStockTempList = prodSpecStockTempList;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", specCode=").append(specCode);
        sb.append(", specName=").append(specName);
        sb.append(", type=").append(type);
        sb.append(", specDesc=").append(specDesc);
        sb.append(", status=").append(status);
        sb.append(", validTime=").append(validTime);
        sb.append(", invalidTime=").append(invalidTime);
        sb.append(", salesScope=").append(salesScope);
        sb.append(", serverSpecId=").append(serverSpecId);
        sb.append(", prptyPackageId=").append(prptyPackageId);
        sb.append(", createTime=").append(createTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", upDesc=").append(upDesc);
        sb.append(", specTag=").append(specTag);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}